/*
 * @(#)WorkflowDocTrackingRecord.java
 *
 * Copyright (c) 2003 DCIVision Ltd
 * All rights reserved.
 *
 * This software is the confidential and proprietary information of DCIVision
 * Ltd ("Confidential Information").  You shall not disclose such Confidential
 * Information and shall use it only in accordance with the terms of the license
 * agreement you entered into with DCIVision Ltd.
 */
package com.dcivision.workflow.bean;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import com.dcivision.framework.bean.AbstractBaseObject;

/**
 * WorkflowDocTrackingRecord.java
 * 
 * This class is the serializable bean reflecting business logic uses.
 * 
 * @author Lun Au
 * @company DCIVision Limited
 * @creation date 26/10/2004
 * @version $Revision: 1.5 $
 */
public class WorkflowDocTrackingRecord extends AbstractBaseObject {
  
  public static final String REVISION = "$Revision: 1.5 $";
  static final long serialVersionUID = 3744245399893029081L;
  
  private List workflowProgressList = null;
  private List workflowProgressUserRecordList = null;
  private MtmWorkflowProgressSystemObject relatedObject = null;
  
  public WorkflowDocTrackingRecord() {
    super();
    workflowProgressList = new ArrayList();
    workflowProgressUserRecordList = new ArrayList();
  }
  
  public void add ( WorkflowProgress workflowProgress ) {
    workflowProgressList.add ( workflowProgress );
  }
  
  public void set ( int i, WorkflowProgress workflowProgress ) {
    this.workflowProgressList.set(i,workflowProgress);
  }
  
  public int size() {
    return this.workflowProgressList.size();
  }
  
  public Iterator iterator () {
    return this.workflowProgressList.iterator();
  }
  
  public WorkflowProgress get ( int i ) {
    return (WorkflowProgress)this.workflowProgressList.get(i);
  }
  /**
   * @return Returns the workflowProgressList.
   */
  public List getWorkflowProgressList() {
    return this.workflowProgressList;
  }
  /**
   * @param workflowProgressList The workflowProgressList to set.
   */
  public void setWorkflowProgressList ( List list ) {
    this.workflowProgressList = list;
  }
  
  public void addWorkflowProgressUserRecord ( List userList ) {
    this.workflowProgressUserRecordList.add ( userList );
  }
  public List getWorkflowProgressUserRecord ( int i ) {
    return (List)workflowProgressUserRecordList.get(i);
  }
  /**
   * @return Returns the relatedObject.
   */
  public MtmWorkflowProgressSystemObject getRelatedObject () {
    return this.relatedObject;
  }
  /**
   * @param relatedObject The relatedObject to set.
   */
  public void setRelatedObject ( MtmWorkflowProgressSystemObject relatedObject ) {
    this.relatedObject = relatedObject;
  }
}
